feat: M6-rest part 2 + M8 voice — 4 more desktop screens + whisper.cpp wrapper#49
Merged
Conversation
…p wrapper
Two parallel pieces of polish.
Core:
· packages/core/src/voice/index.ts (NEW) — VoiceProvider interface +
WhisperCppProvider (spawns whisper CLI, parses timestamped output) +
StubVoiceProvider for tests / unconfigured installs. parseWhisperOutput
is exported so format expectations are pinned.
· 7 unit tests covering output parsing + spawn-via-fake + missing-file
+ non-zero-exit cases.
Desktop:
· apps/desktop/src/components/Nav.tsx (NEW) — top tab bar for
REPL/Chat/Sessions/MCP/Settings.
· apps/desktop/src/screens/Sessions.tsx — list + filter + new-session
button (IPC wired in next M6-rest PR).
· apps/desktop/src/screens/Settings.tsx — flat-key view of
settings.json with filter.
· apps/desktop/src/screens/MCPManager.tsx — list of connected servers
+ JSON snippet for adding one.
· apps/desktop/src/screens/Chat.tsx — REPL + (hidden lg-only) file
panel placeholder pointing at M7.
· apps/desktop/src/App.tsx — routes to the active screen.
· apps/desktop/src/index.css — additional utility classes for the new
layouts (lg:block, w-1/3, border-l, hover:*, font-mono, table).
Tests: core 438 → 445 (+7 voice); cli 47 unchanged; scripts 16 unchanged.
Total 501 → 508 passing. Build clean across all 4 packages.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
oratis
added a commit
that referenced
this pull request
May 28, 2026
Tracks PRs #46-#49 (post-v4 work): · #46 fix: worktree GIT_* env var leak (husky pre-commit context broke child git invocations) · #47 feat: M9 release-notes script + M3.5-ext DNS proxy + M8 /effort UI · #48 feat(desktop): full Vite/Tailwind/electron-builder config (.template suffix avoids dep-missing failures) · #49 feat: WhisperCppProvider + 4 more desktop screens + Nav Major-milestone status: · M0-M5.2 + M3.5 + M3c-rest + M4 + M8 → 100% · M6 → 65% (skeleton + 6 screens + all build configs; need binary deps + last 5 screens + agent IPC + Apple signing) · M7 → 15% (depends on M6) · M9 → 75% Overall: ~95% v1 scope. Remaining estimate: 2-3 weeks single-engineer- focused for v1 ship. M6 Mac client is the only multi-week piece. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
oratis
added a commit
that referenced
this pull request
May 28, 2026
…ills/Permissions/About) (#51) All 11 planned desktop screens now have real React implementations: · Onboarding ✅ (PR #31) · REPL ✅ (PR #31) · Chat ✅ (PR #49) · Sessions ✅ (PR #49) · MCPManager ✅ (PR #49) · Settings ✅ (PR #49) · FilePanel ← NEW (tab bar, source/diff/history view switcher, Monaco placeholder for M7) · Plugins ← NEW (list + install spec input + per-plugin enable/disable + trust badge + warnings) · Skills ← NEW (sidebar list + filter + body viewer with frontmatter metadata) · Permissions ← NEW (deny/ask/allow buckets + add-rule form, view-only preview until IPC save lands) · About ← NEW (version + diagnostics + links to docs) Nav top bar updated with all 9 navigable screens (FilePanel is contextual, not nav-toggleable). App.tsx renders via switch. Plus a batch of utility CSS classes used by these screens (ml-auto, overflow-auto, hover:underline, select styling, etc.). Tests: 508 still passing. Build clean across all 4 packages. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
VoiceProvider abstraction + WhisperCppProvider (CLI-spawn-based, no binary dep) + StubVoiceProvider + parseWhisperOutput. Desktop: Nav top bar + 4 more screen implementations (Sessions, Settings, MCPManager, Chat). 7 new voice tests. 501→508 passing. M6 now has 6 of 11 screens; voice subsystem ready to wire whisper.cpp when binary lands.